import {
	getMyUserInfo
} from '@/api/user'
import {
	 showToast
} from 'vant';
import {
	useUserStore
} from '@/stores/user'
//  优化  
// 判断pinia里有没有这个数据  
// 如果刷新时  从缓存里去
// 如果是重新打开  从服务器拿
export default {
	install(){
		const {
			setUserInfo,
			logout,
			isLogin,
			setTokenExpired,
			setToken
		} = useUserStore()
		
		
		console.log(isLogin)
		
		if(isLogin){
			// 刚才已经登陆过了  现在是在进行刷新操作 
			// 已经做了持久化 
			// 数据会重新赋值到pinia里
		}else{
			// 电脑关闭 浏览器关闭了 sesstionStorage消失了 
			// 重新调接口 
			let userStorage = localStorage.getItem('user')?JSON.parse(localStorage.getItem('user')):null
			if(!userStorage){
				console.log('没token  证明是第一次来 或者退出登陆后没再登')
				return 
			}
			
			console.log(userStorage)
			
			let {token,tokenExpired} = userStorage
			
			
			
			if(new Date().getTime()  >=tokenExpired ){
				showToast('您的登陆信息已失效')
				console.log('但是token过期 ')
				logout()
			}else{
				getMyUserInfo().then(res => {
					console.log(res)
					if (res.code === 0) {
						setUserInfo(res.userInfo)
					} else {
						//  可能是账号被封了 
						logout()
					}
				})
			}
			
		}
		
		
		
		// let token = localStorage.getItem('token')
		// let tokenExpired = localStorage.getItem('tokenExpired')||0
		// if(token){
		// 	console.log('有token ')
			// if(new Date().getTime()  >=tokenExpired ){
			// 	showToast('您的登陆信息已失效')
			// 	console.log('但是token过期 ')
			// 	logout()
		// 	}else{
		// 		// sessionStorage 特性   刷新不丢失   
		// 		// 重开丢失   所以可以保证一定的安全性
		// 		// 判断一下  sessionStorage里是否有用户数据 如果有 不需要调接口了 
		// 		console.log('token没过期 ')
		// 		let userInfo   = sessionStorage.getItem('userInfo')
				
		// 		if(userInfo){
					
		// 			console.log('会话存储有用户信息 不用调接口')
		// 			userInfo = JSON.parse(userInfo)
		// 			setUserInfo(userInfo)
		// 			setLoginStatus(true)
					
		// 		}else{
		// 			//  新打开的页面 而不是刷新
		// 			// 调接口
					
		// 			console.log('会话存储没用户信息 ----调接口')
					// getMyUserInfo().then(res => {
					// 	console.log(res)
					// 	if (res.code === 0) {
					// 		sessionStorage.setItem('userInfo',JSON.stringify(res.userInfo))
					// 		setUserInfo(res.userInfo)
					// 		setLoginStatus(true)
					// 	} else {
					// 		//  log  toast  您的身份认证信息已失效
					// 		logout()
					// 	}
					// })
					
		// 		}
				
		
		// 	}
		
			
		// }else{
		// 	console.log('没token  证明是第一次来 或者退出登陆后没再登')
		// }
	}
}